package com.typhoon.condition;


import java.util.List;

public interface ICondition <T>{


    /**
     * 是否跳过校验
     * @return
     */
    default boolean isSkip() {
        return false;
    }

    /**
     * 执行规则校验
     *
     * @param context
     * @return
     */
    boolean check(ConditionContext<T> context);


    /**
     * 规则所属分组
     * @return
     */
    List<String> getGroup();


    /**
     * 规则执行优先级
     *
     * @return
     */
    int getPriority();


}
